#ifndef __VWFIREWALLIOCTL_HEADER__
#define __VWFIREWALLIOCTL_HEADER__


/**
 *	driver name
 */
#define PROJECT_NAMEA		"VwFirewall"
#define PROJECT_NAMEW		L"VwFirewall"
#define PROJECT_NAMET		_T("VwFirewall")

#define DEVIE_NAMEA		"VwFirewallDrv"
#define DEVIE_NAMEW		L"VwFirewallDrv"
#define DEVIE_NAMET		_T("VwFirewallDrv")

#define NT_DEVICE_NAME		L"\\Device\\VwFirewallDrv"
#define DOS_DEVICE_NAME		L"\\DosDevices\\VwFirewallDrv"

#define DRIVER_FILEA		"VwFirewallDrv.sys"
#define DRIVER_FILEW		L"VwFirewallDrv.sys"

#define DRIVER_DESCA		"VirtualWall PanDomain Driver"
#define DRIVER_DESCW		L"VirtualWall PanDomain Driver"

//
//	Define the various device type values.  Note that values used by Microsoft
//	Corporation are in the range 0-32767, and 32768-65535 are reserved for use
//	by customers.
//
//	Device type
#define VWFIREWALLDRV_FILE_DEVICE	0x00697929
#define VWFIREWALLDRV_IOCTL_INDEX	0x830


/**
 *	IOCTLs
 */
#define VWFIREWALLDRV_IOCTL_START		CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x1, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_STOP		CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x2, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_ISSTART		CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x3, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_LOADCFG		CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x4, METHOD_BUFFERED, FILE_ANY_ACCESS )

#define VWFIREWALLDRV_IOCTL_PFILE_BLOCKCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x5, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_PDOMAIN_BLOCKCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x6, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_PRDP_BLOCKCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x7, METHOD_BUFFERED, FILE_ANY_ACCESS )

#define VWFIREWALLDRV_IOCTL_PFILE_CFGCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x8, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_PDOMAIN_CFGCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0x9, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define VWFIREWALLDRV_IOCTL_PRDP_CFGCOUNT	CTL_CODE( VWFIREWALLDRV_FILE_DEVICE, VWFIREWALLDRV_IOCTL_INDEX+0xa, METHOD_BUFFERED, FILE_ANY_ACCESS )




#endif	// __VWFIREWALLIOCTL_HEADER__

